-
Notifications
You must be signed in to change notification settings - Fork 4k
ARROW-11187: [Rust] [Parquet] Fix Build error by Pin specific parquet-format-rs version #9138
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
alamb
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I verified that this fixes the build for me locally. I think once the CI completes we should merge it in. Thanks @nevi-me !
We had pinned the version at some point, we must have unpinned it while updating dependencies. |
I think given that 2.6.1 --> 2.7.0 was a breaking change, the default versioning scheme wanted to see it use major version numbers (aka 2.7.0 should have been 3.0.0) |
|
Thanks for fixing this @nevi-me ! |
|
Thanks @nevi-me I guess the reason that I can't reproduce this failure may related to crate cache somehow? |
|
@alamb the version of the crate follows the Parquet format versioning. I was thinking about it today, I'll open a PR in the crate, suggesting how the versioning can work going forward. We released We can use |
@alamb reproduced, thanks! Here is the output from my local BTW, should we check and pin all dependencies in this way to avoid suddenly broking? |
Codecov Report
@@ Coverage Diff @@
## master #9138 +/- ##
==========================================
- Coverage 82.60% 82.57% -0.04%
==========================================
Files 204 204
Lines 50496 50879 +383
==========================================
+ Hits 41713 42011 +298
- Misses 8783 8868 +85
Continue to review full report at Codecov.
|
Historically, we seldom have issues with minor version of crates being updated. I think the effort to pin everything isn't worth it. It's actually by luck that we caught the parquet-format-rs update before a new major Arrow release. |
sunchao
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks @nevi-me for catching this up! and sorry for breaking the CI (again). For some reason I also thought parquet-format = "2.6.1" is exact version match. The syntax is a bit confusing.
|
|
||
| [dependencies] | ||
| parquet-format = "2.6.1" | ||
| parquet-format = "~2.6.1" |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
nit: can we add a comment here for future reference? I think this is not the first time we got this error.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Sure. SGTM.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
yes for sure
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
The update note was added to 8cf807f
|
Having a library version be set after a format version is funny, as it is entirely possible to backward incompatibly change an API without backward incompatibly change the format, and vice-versa. IMO the contract that different implementations sign about a format is independent of the contract that the consumers of a library sign with the developers of the library. Given the decision to version that package as such, IMO we should pin the exact version in |
I agree |
parquet-format 2.7.0 was released yesterday, and our cargo.toml file specifies 2.6.1, which means cargo will update this on new builds or of you run
cargo updateSadly this version of new parquet format causes a build error:
This PR pins the version so that it will not pick up 2.7